In order to build a data structure that is extensible and reusable, it is necessary to decouple the intrinsic and primitive behavior of the structure from the application specific behavior that manipulates it. To illustrate such a construction, this paper proposes a uniform object-oriented structural pattern for recursive data structures, and shows how external algorithms can be added without rewriting any code using the visitor design pattern. By presenting data structures in this manner, we can more effectively teach students about recursion, abstraction, design, and good software engineering practices.
It is common for computer science curricula to include a course on data structures and algorithm ana...
Abstract. Generic programming – an emerging new programming para-digm – best known from Standard Tem...
Having been designed as abstractions of common themes in object-oriented programming, patterns have ...
We describe a design pattern for writing programs that traverse data structures built from rich mutu...
Recursion is an important concept in computer science and one which possesses beauty and simplicity,...
We present a domain-specific language for specifying recursive traversals of object structures, for ...
© 2019 Association for Computing Machinery. Recursive solutions to problems are important in teachin...
textabstractWe describe a design pattern for writing programs that traverse data structures built fr...
Top-down programming is procedural programming style, which design begins by defining the solution a...
Design patterns are reusable abstractions in object-oriented software. However, using current mainst...
The observation that program structure follows data structure is a key lesson in introductory progra...
Design patterns are reusable abstractions in object-oriented software. However, using current progra...
Over the years there have been many papers supporting the use of design patterns in a traditional da...
Design patterns are reusable abstractions in object-oriented software. However, using current progra...
When designing a new application, experienced software engineers usually try to employ solutions tha...
It is common for computer science curricula to include a course on data structures and algorithm ana...
Abstract. Generic programming – an emerging new programming para-digm – best known from Standard Tem...
Having been designed as abstractions of common themes in object-oriented programming, patterns have ...
We describe a design pattern for writing programs that traverse data structures built from rich mutu...
Recursion is an important concept in computer science and one which possesses beauty and simplicity,...
We present a domain-specific language for specifying recursive traversals of object structures, for ...
© 2019 Association for Computing Machinery. Recursive solutions to problems are important in teachin...
textabstractWe describe a design pattern for writing programs that traverse data structures built fr...
Top-down programming is procedural programming style, which design begins by defining the solution a...
Design patterns are reusable abstractions in object-oriented software. However, using current mainst...
The observation that program structure follows data structure is a key lesson in introductory progra...
Design patterns are reusable abstractions in object-oriented software. However, using current progra...
Over the years there have been many papers supporting the use of design patterns in a traditional da...
Design patterns are reusable abstractions in object-oriented software. However, using current progra...
When designing a new application, experienced software engineers usually try to employ solutions tha...
It is common for computer science curricula to include a course on data structures and algorithm ana...
Abstract. Generic programming – an emerging new programming para-digm – best known from Standard Tem...
Having been designed as abstractions of common themes in object-oriented programming, patterns have ...